package com.dabai.iot.core.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.dabai.iot.core.entity.DeviceCountEntity;

import java.util.Date;
import java.util.Set;

/**
 * 在线设备数量表 Service 接口
 *
 * @author kev1n
 */
public interface IDeviceCountService extends IService<DeviceCountEntity> {

    /**
     * 保存指定日期的设备最大在线数量到数据库
     */
    void saveOnlineCount(String tenantId, Date date, Long count);

    /**
     * 获取数据库中指定日期的设备最大在线数量
     */
    Long getCount(String tenantId, String date);

    /**
     * 更新缓存中指定日期的在线设备集合
     */
    void updateDeviceOnlineCount(String tenantId, Date date, Set<Long> deviceIds);

    /**
     * 获取缓存中指定日期的在线设备数量
     */
    long getDeviceOnlineCount(String tenantId, Date date);

    /**
     * 删除缓存中指定日期的在线设备数量
     */
    void deleteDeviceOnlineCount(String tenantId, Date date);

}
